#include<stdio.h>
#include<iostream>
#include<vector>
#include<set>
#include<algorithm>




using namespace std;
// int main()
// {
//     int N = 0;
//     cin>>N;
//     set<int> zu;

//     for (int i = 0; i < N; i++)
//     {
//         int num ;
//         cin>>num;
//         zu.insert(num);

//     }
//     vector<int> newzu(zu.begin(),zu.end());
//     cout<<newzu.size()<<endl;
//     for(auto &l:newzu)
//     {
//         cout<<l<<" ";
//     }
//     cout<<endl;

//     return 0;
// }



int main()
{
    int l = 0;
    int m = 0;
    
    set<int> removetree;
    cin>>l>>m;
    for (int i = 0; i < m; i++)
    {
        int u,v;
        cin>>u>>v;
        for (int j = u; j <= v; j++)
        {
            removetree.insert(j);
        }
        
    }
    int total = l+1;
    int kan = removetree.size();
    int end = total - kan;
    cout<<end<<endl;






    return 0;
}
